/*
 * IdleState.h
 *
 *  Created on: 16/05/2011
 *      Author: Rafael
 */

#include "core/State.h"
#include "entity/GameObject.h"
#include "entity/Physics.h"

#ifndef IDLESTATE_H_
#define IDLESTATE_H_

class IdleState : public State<GameObject>{
public:
	IdleState();
	virtual ~IdleState();

	void Enter(GameObject* owner);

	void Execute(GameObject* owner);

	void Exit(GameObject* owner);

	string toString();
	/*
	 * Other Methods
	 */
	bool tryWalk(GameObject* owner);
	bool tryRun(GameObject* owner);
	bool tryHitted(GameObject* owner);
	bool tryAttack(GameObject* owner);
	bool tryShoot(GameObject* owner);
	bool tryInteract(GameObject *owner);
	bool tryAction(GameObject *owner);
	bool tryDie(GameObject *owner);
};

#endif /* IDLESTATE_H_ */
